home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
t_os
/
komei4
/
komei4.exe
/
ICON
/
BT1.HD6
< prev
next >
Wrap
Text File
|
1993-06-10
|
5KB
|
406 lines
ds_name db 'MOJ\BT1',0
; I_GA の前に初期化が必要
dt1:
call sub_edi
dw 0
db 'I_GA',0
dt2:
call sub_edi
dw 0
db 'END1',0
p_call:
M_P_CALL
p_set:
M_P_SET
paint_wd:
SET_P dt1
SET_P dt2
call u_con_set
re_paint:
WD_CLS 0
BOX boxdt,2
BOX boxdt1,5
MARU marudt1,5
MARU marudt2,5
MARU up_mdt,2
MARU down_mdt,2
MOZI mozidt
ret
u_con_set:
call e_data1
call f_size
call ds_size
mov [esi],ecx
RAM0 edi
call e_data1
call load
call set2
jmp set3
set2:
call ds_size
mov ecx,[esi]
push es
mov ax,114h
mov es,ax
mov edi,1024*3
RAM0 ebx
mov esi,ebx
cld
rep movsb
pop es
ret
set3:
mov ah,100
mov al,35 ;16c icon data の場所
mov dx,114h
mov edi,1024*3
call komei
ret
;**************************************
e_data1:
call sub_edx
db 'ICON\TIL\NO1.TIL',0
e_data2:
call sub_edx
db 'ICON\TIL\NO2.TIL',0
e_data3:
call sub_edx
db 'ICON\TIL\NO3.TIL',0
e_data4:
call sub_edx
db 'ICON\TIL\NO4.TIL',0
e_data5:
call sub_edx
db 'ICON\TIL\NO5.TIL',0
ds_size:
call sub_esi
dd ?
f_size:
M_BYTESU
load:
M_LOAD
save:
M_SAVE
p_con:
mov ah,2
mov al,0
call MOUSE
mov ah,100
mov al,31
call komei1
mov ah,2
mov al,1
call MOUSE
ret
be_called:
YOMU ax,300
cmp ax,400
je neru
cmp ax,500
je okiru
ret
neru:
WD_ERZ 1
WD_ERZ 0
WD_LEFT
ret
okiru:
WD_WANT
jmp re_paint
mouse_in: ;諸葛亮よりwindowにマウスが入ったと言って来た。
cmp ch,1 ;左ボタンが押されていれば
je mouseck ; 何処の箱か調べさせる
ret
mouseck:
MOU boxdt,2
cmp bx,1 ;bx=1 find
je short mck1
ret
ck_mouse:
M_KENMS
mck1:
push eax
MOZI mozidt1
BOX boxdt2,1
MOZI mozidt2
KAKU word ptr 300,1
KAKU dword ptr 302,7
CALL_P dt2
pop eax
cmp ax,1
je mck2
jmp mck6
;---------------------------------
;til load
mck2:
call ck_mouse
cmp ch,0
je mck2
cmp ch,1
je mck3
jmp mck5
mck3:
MOU boxdt1,5
cmp bx,1
je mck4
jmp mck2
mck4:
push eax
call g_fnum
push edx
call f_size
call ds_size
mov [esi],ecx
cmp ecx,0
je mck10
RAM0 edi
pop edx
call load
call set2
pop eax
dec eax
mov bx,33
mul bx
add ax,11
call up_mdt
mov bx,[edi+26]
mov [edi+6],bx
mov [edi+26],ax
mov word ptr [edi+36],10
MARU up_mdt,2
KAKU word ptr 300,1
CALL_P dt1
jmp mck5
mck5:
BOX boxdt2,1
BOX boxdt1,5
ret
mck10:
pop edx
pop eax
jmp mck5
;--------------------
; til save
mck6:
call ck_mouse
cmp ch,0
je mck6
cmp ch,1
je mck7
jmp mck5
mck7:
MOU boxdt1,5
cmp bx,1
je mck8
jmp mck6
mck8:
push eax
RAM0 edi
push ds
mov ax,114h
mov ds,ax
mov esi,1024*3
mov ecx,512*64
cld
rep movsb
pop ds
pop eax
push eax
call g_fnum
RAM0 edi
mov ecx,512*64
call save
pop eax
dec eax
mov bx,33
mul bx
add ax,11
call down_mdt
mov bx,[edi+26]
mov [edi+6],bx
mov [edi+26],ax
mov word ptr [edi+36],10
MARU down_mdt,2
jmp mck5
g_fnum:
cmp ax,1
je g_f1
cmp ax,2
je g_f2
cmp ax,3
je g_f3
cmp ax,4
je g_f4
cmp ax,5
je g_f5
g_f1:
call e_data1
ret
g_f2:
call e_data2
ret
g_f3:
call e_data3
ret
g_f4:
call e_data4
ret
g_f5:
call e_data5
ret
;--------------------------------------------
; look_me 諸葛亮に読ませるwindowデータです。
look_me:
call sub_esi ; esi 固定です。
dd 0,0
dw 1 ; ここが 1 の物は open start です。
dw 0
dw 56+8,130,0,270,15,0,0,0
;----------------------
; 関策に読ませるboxデータです。名前は自由です。
marudt1:
call sub_edi
dw 5,10,10,11,36,33,0,11,0,0
marudt2:
call sub_edi
dw 5,10,10,11,36+50,33,0,11,0,0
up_mdt:
call sub_edi
dw 1,10,10,11,36,33,0,11,0,0
dw 1,10,10,11,36,33,0,11,10,0
down_mdt:
call sub_edi
dw 1,10,10,11,36+50,33,0,11,0,0
dw 1,10,10,11,36+50,33,0,11,0,0
boxdt1:
call sub_edi
dw 5,32,32,1,50,33,0,15,0,0
boxdt:
call sub_edi
dw 2,40,22,30,10,0,100,15,0,0
boxdt2:
call sub_edi
dw 1,20*8+3,22,72,10,0,100,0,0,0
mozidt:
call sub_edi
dw 0 ;screen_no
dw 15 ; mozi_color
dw 30+5 ; 書き出し位置 x
dw 10 ; y
dw 0 ; next offset x
dw 100 ; next offset y
dw 2 ; gyo suu
db 'LOAD',0
db 'SAVE',0
dw 0,0
mozidt2:
call sub_edi
dw 0 ;screen_no
dw 15 ; mozi_color
dw 75 ; 書き出し位置 x
dw 10 ; y
dw 0 ; next offset x
dw 100 ; next offset y
dw 1 ; gyo suu
db 'キャンセルは右ボタン',0
dw 0,0
mozidt1:
call sub_edi
dw 0 ;screen_no
dw 15 ; mozi_color
dw 2+3 ; 書き出し位置 x
dw 55 ; y
dw 32+1 ; next offset x
dw 0 ; next offset y
dw 5 ; gyo suu
db 'NO1',0
db 'NO2',0
db 'NO3',0
db 'NO4',0
db 'NO5',0
dw 0,0